Server computers often include one or more input/output (I/O) devices. For example, a server computer may include one or more I/O adapter devices for communicating with a network and/or direct-attached storage device. Each I/O device may communicate over multiple, possibly asynchronous interfaces, such as PCI Express (PCIe) and/or Ethernet. For example, a host server computer may send I/O transactions over a PCIe bus to the I/O adapter device, and the I/O adapter device may send those I/O transactions over an Ethernet cable for processing by another server.
Data transferred between server computers and storage devices may frequently include common or often repeated data patterns. For example, some types of data may include large blocks of bits that are all zero. Transfer and storage of data of this nature may be optimized by transferring primarily the blocks of data that do not consist of these identifiable and frequently repeated data patterns. Data cannot simply be deleted, however, because the excluded data, though perhaps common or repeated, may still be relevant. Data that has been reduced in size by excluding blocks that are not the identifiable data pattern may be transferred and stored with an indicator, such as a bitmap, to record which data blocks have been removed. These data blocks, because their content is well understood, can later be reproduced.